package cn.tqfeiyang.smartadmin.system.request;

import java.time.LocalDateTime;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.tqfeiyang.smartadmin.commons.validation.*;
import cn.tqfeiyang.smartadmin.commons.pagination.*;
import jakarta.validation.constraints.*;
import lombok.Data;

/**
 * 用户查询请求
 *
 * @author tqfeiyang
 * @since 2024-08-23
 */
@Data
public class UserQueryDTO extends QueryParams {

    /**
     * 用户名称
     */
    @Schema(description = "用户名称")
    @Size(max = 100, message = "用户名称长度不能超过100字符")
    @QueryColumn(logic = QueryLogic.like)
    private String username;

    /**
     * 密码
     */
    @Schema(description = "密码")
    @Size(max = 100, message = "密码长度不能超过100字符")
    @QueryColumn(logic = QueryLogic.like)
    private String password;

    /**
     * 电子邮件
     */
    @Schema(description = "电子邮件")
    @Size(max = 100, message = "电子邮件长度不能超过100字符")
    @QueryColumn(logic = QueryLogic.like)
    private String email;

    /**
     * 昵称
     */
    @Schema(description = "昵称")
    @Size(max = 100, message = "昵称长度不能超过100字符")
    @QueryColumn(logic = QueryLogic.like)
    private String nickname;

    /**
     * 是否有效？
     */
    @Schema(description = "是否有效？")
    @QueryColumn(logic = QueryLogic.eq)
    private Boolean status;

    /**
     * 是否管理员？
     */
    @Schema(description = "是否管理员？")
    @QueryColumn(logic = QueryLogic.eq)
    private Boolean admin;

}